package com.giscloud.amp.service.sys;

import com.giscloud.amp.entity.PubDictValue;
import com.giscloud.amp.entity.dto.DictionaryDTO;
import com.giscloud.amp.entity.dto.DictionaryValueDTO;
import com.giscloud.commons.model.Result;
import com.giscloud.datasource.page.PageInfo;

import java.util.List;
import java.util.Map;

/**
 * @author gxd
 * @data 2018/12/4 10:52
 */
public interface DictionaryService {

    /**
     * 字典列表
     * @param dictionaryDTO
     * @return
     */
    PageInfo getList(DictionaryDTO dictionaryDTO);

    /**
     * 字典新增
     * @param dictionaryDTO
     * @return
     */
    Result add(DictionaryDTO dictionaryDTO);

    /**
     * 字典删除
     * @param dictId
     * @return
     */
    Result delete(Long dictId);

    /**
     * 字典编辑
     * @param dictionaryDTO
     * @return
     */
    Result edit(DictionaryDTO dictionaryDTO);

    /**
     * 字典值列表
     * @param dictionaryValueDTO
     * @return
     */
    PageInfo getListValue(DictionaryValueDTO dictionaryValueDTO);

    /**
     * 字典值新增
     * @param dictionaryValueDTO
     * @return
     */
    Result valueAdd(DictionaryValueDTO dictionaryValueDTO);

    /**
     * 字典值删除
     * @param dictValueId
     * @return
     */
    Result valueDelete(Long dictValueId);


    /**
     * 字典值编辑
     * @param dictionaryValueDTO
     * @return
     */
    Result valueEdit(DictionaryValueDTO dictionaryValueDTO);


    /**
     * 字典键值对
     * @return
     */
    List<Map<String,Object>> getDictMap();

    List<Map<String,Object>> getDictList(String dictKey);

    /**
     *
     * 列表
     */
    List<Map<String,Object>> pubdictValueList(DictionaryValueDTO dictionaryValueDTO);
}
